TARGET = MyEngine \

TEMPLATE = lib \

CONFIG += dll \

CONFIG -= \
    rtti \
    exceptions \

QT -= \
    core \
    gui \

INCLUDEPATH += ./Source \

############################################################
# Windows specific settings.
############################################################
win32 {

    ############################################################
    # Build dependant paths.
    ############################################################
    CONFIG(debug, debug|release) {

        DESTDIR = Build/Win32/Debug
        OBJECTS_DIR = Build/Win32/Debug/Object
        MOC_DIR = Build/Win32/Debug/Moc

    } else {

        DESTDIR = Build/Win32/Release
        OBJECTS_DIR = Build/Win32/Release/Object
        MOC_DIR = Build/Win32/Release/Moc

    }

    ############################################################
    # Defines.
    ############################################################
    DEFINES += \
        "UNICODE=0" \
        MY_USE_WIN32 \
        MY_EXPORTING \
}

############################################################
# Unix specific settings.
############################################################
unix {

    ############################################################
    # Build dependant paths.
    ############################################################
    CONFIG(debug, debug|release) {

        DESTDIR = Build/Unix/Debug
        OBJECTS_DIR = Build/Unix/Debug/Object
        MOC_DIR = Build/Unix/Debug/Moc

    } else {

        DESTDIR = Build/Unix/Release
        OBJECTS_DIR = Build/Unix/Release/Object
        MOC_DIR = Build/Unix/Release/Moc

    }

    ############################################################
    # Defines.
    ############################################################
    DEFINES += \
        MY_USE_UNIX \
}

############################################################
# Compiler flags.
############################################################
############################################################
# Headers.
############################################################
HEADERS += \
    Source/Concurrent/Mutex.hpp \
    Source/Concurrent/ScopedLock.hpp \
    Source/Concurrent/Thread.hpp \
    Source/Core/Application.hpp \
    Source/Core/Window.hpp \
    Source/Debug/Assert.hpp \
    Source/Debug/Memory.hpp \
    Source/Global/MyEngine.hpp \
    Source/Pattern/Singleton.hpp \
    Source/Pattern/Uncopyable.hpp \
    Source/System/File.hpp \


win32:HEADERS += \
    Source/Concurrent/Win32/MutexImp.hpp \
    Source/Concurrent/Win32/ThreadImp.hpp \
    Source/Core/Win32/ApplicationImp.hpp \
    Source/Core/Win32/WindowImp.hpp \
    Source/Debug/Win32/AssertImp.hpp \

unix:HEADERS += \
    Source/Concurrent/Unix/MutexImp.hpp \
    Source/Concurrent/Unix/ThreadImp.hpp \
    Source/Core/Unix/ApplicationImp.hpp \
    Source/Core/Unix/WindowImp.hpp \
    Source/Debug/Unix/AssertImp.hpp \

############################################################
# Sources.
############################################################
SOURCES += \
    Source/Concurrent/ScopedLock.cpp \
    Source/Debug/Memory.cpp \
    Source/System/File.cpp \

win32:SOURCES += \
    Source/Concurrent/Win32/MutexImp.cpp \
    Source/Concurrent/Win32/ThreadImp.cpp \
    Source/Core/Win32/ApplicationImp.cpp \
    Source/Core/Win32/WindowImp.cpp \
    Source/Debug/Win32/AssertImp.cpp \

unix:SOURCES += \
    Source/Concurrent/Unix/MutexImp.cpp \
    Source/Concurrent/Unix/ThreadImp.cpp \
    Source/Core/Unix/ApplicationImp.cpp \
    Source/Core/Unix/WindowImp.cpp \
    Source/Debug/Unix/AssertImp.cpp \

############################################################
# Defines.
############################################################
DEFINES += \
    MY_USE_MEMORY \
    MY_USE_DEBUG \

